package com.sybil.ot.dao;

import com.sybil.ot.dominio.ResponsableZona;
import com.sybil.ot.dominio.ResponsableZonaPK;
import com.sybil.ot.dominio.Zona;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;

@Repository("responsableZonaDAO")
public class ResponsableZonaDAO extends AbstractDAO<ResponsableZona, ResponsableZonaPK> {

   public ResponsableZonaDAO() {
      super(ResponsableZona.class);
   }

   public ResponsableZona obtenerResponsableZona(ResponsableZonaPK llave) {
      return obtener(llave);
   }

   public ResponsableZona obtenerResponsableZona(String codigoEmpleado, String claveZona) {
      return obtener(new ResponsableZonaPK(codigoEmpleado, claveZona));
   }

   public List<ResponsableZona> obtenerResponsasbleZona() {
      Criteria c = sesionActual().createCriteria(ResponsableZona.class);
      c.addOrder(Order.asc("llave.codigoEmpleado"));
      return c.list();
//      return obtener();
   }

   public void guardarResponsableZona(ResponsableZona responsableZona) {
      guardar(responsableZona);
   }

   public void editarResponsableZona(ResponsableZona responsableZona) {
      editar(responsableZona);
   }

   public void eliminarResponsableZona(ResponsableZona responsableZona) {
      eliminar(responsableZona);
   }

   public List<ResponsableZona> obtenerPorZona(String claveZona) {
      return obtener(Restrictions.eq("zona", new Zona(claveZona)));
   }
}
